import store from '@/store'
import axios from 'axios'
import { Message } from 'element-ui'
const serice = axios.create({
  baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  timeout: 30000 // 接口请求的超时时间
})
// // 请求拦截器
// // 参数1： 成功之后的回调
// // 参数2： 失败之后的回调
serice.interceptors.request.use(
  // config包含了当前请求的配置信息
  (config) => {
    // console.log(config)
    if (store.getters.token) {
      config.headers.Authorization = store.getters.token
    }
    // 加上return接口请求才能到服务端，如果不加请求就卡死了
    return config
  },
  (error) => {
    // 失败执行reject，返回失败的结果
    return Promise.reject(error)
  }
)

// // 响应拦截器
// // 参数1： 成功之后的回调
// // 参数2： 失败之后的回调
serice.interceptors.response.use(
  (response) => {
    // response
    // console.log(response)
    const { code, msg } = response.data
    if (code) {
      if (code === 200) {
        Message.success('操作成功')
        return response
      } else {
        Message.error(msg)
        return response
      }
    } else {
      return response
    }
  },
  (error) => {
    // 失败执行reject，返回失败的结果
    Message.error(error.message)
    return Promise.reject(error)
  }
)
export default serice
